package cn.elwy.rcp.ui.explorer.core.service;

import java.io.File;
import java.io.InputStream;
import java.net.URL;

import cn.elwy.rcp.ui.explorer.core.vo.ProjectConfig;

public interface ProjectConfigService {

  public static final String ID = "projectConfigService";

  /**
   * 加载工程配置文件
   * 
   * @param projectPath 配置文件路径
   * @return
   */
  public ProjectConfig load();

  /**
   * 加载工程配置文件
   * 
   * @param projectPath 配置文件路径
   * @return
   */
  public ProjectConfig load(File file);

  /**
   * 加载工程配置文件
   * 
   * @param file 配置文件路径
   * @return
   */
  public ProjectConfig load(URL url);

  /**
   * 加载工程配置文件
   * 
   * @param file 配置文件路径
   * @return
   */
  public ProjectConfig load(InputStream in, String encoding);

  public ProjectConfig getNewPorject();

  public void saveLastProject(ProjectConfig projectConfig);

  public void save(File file, ProjectConfig projectConfig);

}
